package com.atguigu.common.exception;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

/**
 * @Author learner
 * @Create 2023/12/9 15:03
 * @Version 1.0
 */
/***
 * 错误码和错误信息定义类
 * 1. 错误码定义规则为 5 为数字
 * 2. 前两位表示业务场景，最后三位表示错误码。例如：100001。10:通用 001:系统未知
 异常
 * 3. 维护错误码后需要维护错误描述，将他们定义为枚举形式
 * 错误码列表：
 * 10: 通用
 *  001：参数格式校验
 *  002：短信验证码频率太高
 * 11: 商品
 * 12: 订单
 * 13: 购物车
 * 14: 物流
 * 15: 用户
 * 16: 会员
 */
public enum BizCodeEnum {
    
    UNKNOW_EXCEPTION(10000, "系统未知异常"),
    VALID_EXCEPTION(10001,"参数格式校验失败"),
    SMS_CODE_EXCEPTION(10002, "短信验证码获取频率太高，请稍后再试"),
    SMS_CACHE_CODE_EXPIRED(10003, "验证码不存在或已过期，请重新发送"),
    SMS_CACHE_CODE_CHECK_ERROR(10004, "验证码不正确，请重试"),
    GET_ORDER_CONFIRM_PAGE_DATA_ERROR(12001, "获取订单确认页数据失败"),
    MEMBER_REGISTER_MEMBER_ERROR(16001, "会员注册失败"),
    MEMBER_LOGIN_ACCOUNT_PASSWORD_ERROR(16002, "用户名或密码错误"),
    PRODUCT_UPPER(11000, "商品上架异常");
    
    Integer code;
    String msg;
    
    BizCodeEnum(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }
    
    public Integer getCode() {
        return code;
    }
    
    
    public String getMsg() {
        return msg;
    }
    
}
